1. Field
The following description relates to a work scheduling technique, and more particularly, to a work scheduling technique over a symmetric multi-processing environment in which multiple cores operate in a single apparatus.
2. Description of the Related Art
As multi-core devices increase, there is a need for improving the performance of the multi-core devices.
In general, in order to effectively use a multi-core computing device, a parallel programming model, such as pthread, open multi-processing (open-MP), thread building block (TBB), open computing language (open CL), and the like, may be used. These parallel programming models have their own individual schedulers to enhance the usability of the multi-core computing device.
The scheduler may vary depending on each multi-core computing device. The scheduler serves to allocate works requested by a parallel program to each device core such that the works are processed in parallel manner.
If the processing of work is requested together with a description of the dependency among the works, the scheduler detects a runnable work by analyzing the described dependency to effectively allocate the works to respective devices.
For example, in a case of a symmetric multi-processing environment in which multiple cores operate in a single device, a scheduling of works and a processing of works are performed in the same device, there is need for preventing the scheduling function from disturbing the processing of works inefficiently.